Allow context-binary lowering to use edge dialect ops (#20518)#20518
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20518
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ✅ No FailuresAs of commit efc6e3c with merge base 47fd0d8 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@JakeStevens has exported this pull request. If you are a Meta employee, you can view the originating Diff in D109598309. |
This PR needs a
|
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
ce774b0 to
101ea39
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
101ea39 to
e924d07
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
e924d07 to
1095873
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
1095873 to
18d165e
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
18d165e to
36aeffe
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
36aeffe to
9daf0b4
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Differential Revision: D109598309
8b08c87 to
b249858
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Differential Revision: D109598309
Summary: Pull Request resolved: pytorch#20518 Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Differential Revision: D109598309
b3fde42 to
e39dbfd
Compare
|
Addressed claude review |
Summary: Pull Request resolved: pytorch#20518 Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Differential Revision: D109598309
e39dbfd to
db9263c
Compare
|
@harshs-qti @shewu-quic are there any specific concerns you have or additional tests I can run? |
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Differential Revision: D109598309
db9263c to
d0a50d0
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Differential Revision: D109598309
Summary: Pull Request resolved: pytorch#20518 Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Differential Revision: D109598309
d0a50d0 to
69c7589
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Reviewed By: rascani Differential Revision: D109598309
69c7589 to
ee75fa2
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Reviewed By: rascani Differential Revision: D109598309
ee75fa2 to
939b640
Compare
Summary: Pull Request resolved: pytorch#20518 Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Reviewed By: rascani Differential Revision: D109598309
22a970b to
939b640
Compare
Summary: Pull Request resolved: pytorch#20518 Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Reviewed By: rascani Differential Revision: D109598309
939b640 to
151c181
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Reviewed By: rascani Differential Revision: D109598309
151c181 to
11362e4
Compare
Summary: Pull Request resolved: pytorch#20518 Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. We can simply unwrap the op overload and maintain the same check. Reviewed By: rascani Differential Revision: D109598309
11362e4 to
efc6e3c
Compare
Summary:
Unblocks the QNN context-binary path from lowering through
to_edgewith_use_edge_ops=True(the default). Previously it was pinned toEdgeCompileConfig(_use_edge_ops=False)purely to keep theqaiswcontext-loader custom op's original name, because loader detection was name-based.We can simply unwrap the op overload and maintain the same check.
Reviewed By: rascani
Differential Revision: D109598309